Method and system for combining localized weather forecasting and itinerary planning

ABSTRACT

Provided are methods, devices, and non-transitory computer-readable storage mediums to generate an itinerary with a weather forecast. The itinerary may comprise a departure location, a destination location and a first time. Based on the itinerary, an intermediary location and an intermediary time associated with the intermediary location may be identified. A weather forecast associated with the identified intermediary location and the intermediary time may be predicted. A weather risk associated with the identified route may be assessed and based on the assessed risk, an alternative route may be additionally identified.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. patent application Ser. No.14/244,586, filed on Apr. 3, 2014, which claims priority to U.S.Provisional Application No. 61/836,713, filed on Jun. 19, 2013, and isrelated to co-owned and co-invented U.S. patent application Ser. No.13/856,923, filed on Apr. 4, 2013, U.S. patent application Ser. No.13/922,800, filed on Jun. 20, 2013, U.S. patent application Ser. No.13/947,331, filed on Jul. 22, 2013, U.S. patent application Ser. No.14/244,516, filed on Apr. 3, 2014, and U.S. patent application Ser. No.14/244,383, filed on Apr. 3, 2014, the entire contents of which arehereby incorporated by reference.

FIELD OF THE INVENTION

The subject matter disclosed generally relates to methods for producingweather forecasts. More specifically, the subject matter relates tosoftware applications for producing weather forecasts.

BACKGROUND OF THE INVENTION

Conventional weather forecasting systems provide weather predictions 12hours to a few days from the present time. If one needs a short-termforecast or a forecast with a fine time scale, the best informationavailable usually is an hourly forecast for the day.

Conventional weather forecasts are average forecasts for the area forwhich they are generated. Thus, a forecast may be inaccurate for aprecise location within this area, and even the present weatherdisplayed for an area may differ from the actual weather for a preciselocation within this area.

Moreover, conventional weather forecasts are displayed at a time scalethat is too coarse to allow a user to know when a weather event takesplace in a precise location and time. Even for hourly conventionalweather forecasts, it is impossible for the user to know if theforecasted weather event will last one hour or one minute and, for thelatter, at what time it will take place exactly within the hour.

For a user who stays at the same place during a part of a day,conventional weather forecasts may provide a reliable weather forecast.However, for a moving user, conventional weather forecasts that arecommunicated to the public lack the necessary temporal and spatialresolution to provide the moving user with a reliable weather forecastalong the itinerary of the user. Furthermore, no conventional weatherforecasts or itinerary planning tools estimate the delays caused byweather on a route, although there is a need for tools comprising thatfunction.

Therefore, there is a need in the market for the generation and displayof short-term weather forecasts for various locations and times, andthere is further a need in the market for a system and method whichallow for estimating the weather along the route between the departurelocation and the destination location so that the user may attempt totake alternative routes to avoid extreme weather conditions.

SUMMARY

There may be provided a computer implemented method for generatingitineraries comprising: identifying a departure location, a destinationlocation and a first time, identifying an intermediary location betweenthe departure location and the destination location, identifying anintermediary time associated with the intermediary location, identifyinga weather forecast associated with the intermediary location and theintermediary time, and identifying an itinerary based at least on theweather forecast.

In some embodiments, the method may comprise estimating a travel timebetween locations based on the weather forecast.

In some embodiments, the method may comprise identifying at least one ofa modified intermediary time based on the weather forecast, andidentifying a modified weather forecast associated with the intermediarylocation and the modified intermediary time.

In some embodiments, the method may comprise identifying a weatherseverity level associated with the weather forecast of the intermediarylocation and the intermediary time. The itinerary may be identifiedbased on the weather severity level.

In some embodiments, the method may comprise: identifying an alternativeintermediary location based on the weather severity level, identifying asecond intermediary time associated with the alternative location, andidentifying a second weather forecast associated with the alternativeintermediary location and the second intermediary time, wherein theitinerary is identified based at least on the second weather forecast.

In some embodiments, the weather forecast may comprise informationindicating a probability of a specific type of precipitation at aspecific rate.

In some embodiments, the departure location, the destination locationand the first time may be received from a remote device (e.g. GPS, auser-operable device, etc.). At least one of the departure location andthe destination location may be associated with a current location ofthe remote device, and the first time may be associated with a currenttime.

In some embodiments, the method may comprise: identifying multipleintermediary locations, identifying multiple intermediary timesassociated with the multiple intermediary locations, and identifyingmultiple weather forecasts associated with the multiple intermediarylocations and the multiple intermediary times, wherein the itinerary isidentified based at least on the multiple weather forecasts.

In some embodiments, the method may comprise: identifying a first set ofintermediary locations and a second set of intermediary locations,identifying a third set of intermediary times associated with the firstset of intermediary locations, identifying a fourth set of intermediarytimes associated with the second set of intermediary locations,identifying a fifth set of weather forecasts associated with the firstset of intermediary locations and the third set of intermediary times,identifying a sixth set of weather forecasts associated with the secondset of intermediary locations and the fourth set of intermediary times,and comparing a weather severity level associated with the fifth set ofweather forecasts with a weather severity level associated with thesixth set of weather forecasts, wherein, based on the comparison, theidentified itinerary comprises the first set of intermediary locationsor the second set of intermediary locations.

In other embodiments, there may be provided a computer implementedmethod for generating itineraries comprising: receiving an itineraryrequest including a departure location, a destination location and agiven time, in response to receiving the itinerary request, obtaining alist of locations and a list of times corresponding to the locations,obtaining a weather forecast for each location of the list of locationsfor the time corresponding to each location, resulting in a list ofweather forecasts, and outputting the list of weather forecasts forcorresponding locations. The method may comprise estimating a delay in adisplacement due to the weather forecasts. The delay in the displacementmay be used to modify the times corresponding to the locations.

In some embodiments, there may be a device comprising one or moreprocessors, a memory storing computer instructions that can be executedby the one or more processors such that the device is caused to performany one or more of the methods described above, when the instructionsare executed. Further, there may be a non-transitory computer-readablemedium storing such instructions.

Further, there may be a device that comprises one or more processors, amemory storing instructions for the one or more processors, acommunication module to connect to a remote server over a communicationnetwork, and a display. When the instructions are executed, the devicemay be caused to: receive, from the remote server, an itinerarycomprising a departure location, a destination location and anintermediary location, the itinerary generated based at least on aweather forecast associated with the intermediary location and anintermediary time, the intermediary time representing the time at whichthe device is expected to arrive at the intermediary location, andcause, on the display, a display of at least a part of the itineraryreceived from the remote server. The device may be a mobile device suchas, non-exclusively, a handheld device, a cellphone, a vehicle, etc.

BRIEF DESCRIPTION OF THE DRAWINGS

Further features and advantages of the present disclosure will becomeapparent from the following detailed description, taken in combinationwith the appended drawings, in which:

FIG. 1 shows an example of a block diagram of a system for combininglocalized weather forecasting and itinerary planning;

FIG. 2A shows an example of a block diagram of a suitable nowcaster forimplementing one or more embodiments;

FIG. 2B is one example of a more detailed block diagram of a suitablenowcaster for implementing one or more embodiments;

FIG. 2C is another example of a more detailed block diagram of asuitable nowcaster for implementing one or more embodiments;

FIG. 3 is a screenshot illustrating an example of an itinerary returnedby an itinerary generating module;

FIG. 4A is an example of a network environment in which the embodimentsmay be practiced;

FIG. 4B is an example of another network environment in which theembodiments may be practiced; and

FIG. 5 is an exemplary diagram illustrating a suitable computingoperating environment in which embodiments of the claimed subject mattermay be practiced.

It will be noted that, throughout the appended drawings, like featuresare identified by like reference numerals.

DETAILED DESCRIPTION OF THE INVENTION

The embodiments will now be described more fully hereinafter withreference to the accompanying drawings, which form a part hereof, andwhich show, by way of illustration, specific embodiments by which theembodiments may be practiced. The embodiments are also described so thatthe disclosure conveys the scope of the claimed subject matter to thoseskilled in the art. The embodiments may, however, be embodied in manydifferent forms and should not be construed as limited to theembodiments set forth herein.

Among other things, the present embodiments may be embodied as methodsor devices. Accordingly, the embodiments may take the form of anentirely hardware embodiment, an entirely software embodiment, anembodiment combining software and hardware aspects, etc. Furthermore,although the embodiments are described with reference to a portable orhandheld device, they may also be implemented on desktops, laptopcomputers, tablet devices, or any computing device having sufficientcomputing resources to implement the embodiments.

Definitions

In the present specification, the following terms are meant to bedefined as indicated below:

Nowcasting: The term nowcasting is a contraction of “now” and“forecasting”; it refers to the sets of techniques devised to makeshort-term forecasts, typically in the 0- to 12-hour range.

A nowcaster is a weather forecasting device which prepares veryshort-term (e.g., 1 minute, 5 minutes, 15 minutes, 30 minutes, etc.)forecasts for a very small region on Earth (5 meters, 10 meters, 50meters, 100 meters, 500 meters, 1,000 meters, etc.).

A weather value is a weather-related quantity or attribute of any sortsuch as temperature, pressure, visibility, precipitation type andintensity, accumulation, cloud cover, wind, etc.

A forecasted weather value is a weather value that is predicted by thenowcaster.

A weather-related event is an event that can affect a weather value or aforecasted weather value, which include, for example, at least one ofhail, a wind gust, lightning, a temperature change, etc.

Precipitation type (PType): indicates the type of precipitation.Examples of precipitation types include, but are not limited to, rain,snow, hail, freezing rain, ice pellets, or ice crystals.

Precipitation rate (PRate): indicates the precipitation intensity.Examples of precipitation rate values include, but are not limited to,no (i.e., none), light, moderate, heavy, extreme. In an embodiment, theprecipitation rate can also be expressed as a range of values such as:none to light, light to moderate, moderate to heavy, or any combinationof the above.

Precipitation probability: indicates the probability that precipitationmight occur. Examples of precipitation probability values include, butare not limited to, no, unlikely, slight chance of, chance of, likely,very likely, or certain.

In an embodiment, the precipitation probability can also be expressed asa range of values such as: none to light, light to moderate, or moderateto heavy. Precipitation probability may also be expressed in terms ofpercentages; e.g., 0%, 25%, 50%, 75%, 100%; or ranges of percentages;e.g., 0% to 25%, 25% to 50%, 50% to 75%, 75% to 100%. In an embodiment,the precipitation probability may be taken from a probabilitydistribution.

Precipitation type and precipitation rate categories (PTypeRate): aPTypeRate category is combination of precipitation type andprecipitation rate to which may be associated a probability ofoccurrence for a given period to indicate the possibility of receiving acertain type of precipitation at a certain rate.

A weather forecast is a set of one or more forecasted weather valuesthat are displayable to users.

A user is a person to whom or machine to which a weather forecast isforwarded.

An itinerary is a list of locations or directions guiding a user frompoint A to point B. Optionally, the itinerary may comprise timescorresponding to a location or time intervals between locations. A keypoint is a location that meets a criterion which may be a user'spreference.

Briefly stated, the present embodiments describe a method and system forcombining localized weather forecasting and itinerary planning. Theweather forecast is generated by a short-term weather forecaster knownas a system for generating nowcasts or a nowcaster.

Now referring to FIG. 1, there is described a system for combininglocalized weather forecasting and itinerary planning. The systemcomprises an intelligence module 312, an itinerary generating module 310and a nowcaster 200. The intelligence module 312 further comprises aweather risk estimator 160 and a delay estimator 165. These componentswill be further described below.

Itinerary Generation Module

The itinerary generating module 310 may be a web-based module and/or aGPS-based module for generating routes and directions.

An example of such web-based modules may include MapQuest™, Yahoo™ Maps,Google™ Maps, and so on. In these types of modules, the data relating tothe generation or routes is stored on a remote server that is accessiblevia a telecommunications network such as the Internet. Using thesemodules, the user may request directions from a first location A to asecond location B, whereby the module may return a list of directionsfor the displacement from A to B as shown in FIG. 3.

As shown in FIG. 1, the itinerary generating module 310 generates anitinerary 314, which comprises a list of locations 316 and a list oftimes 318, where the times correspond to the locations.

In an embodiment, the itinerary generating module 310 may provide one ormore choices of itineraries for the user to choose. Then, the modulegenerates a list 313 of itineraries.

In another embodiment, the data may be downloaded and/or pushed from theserver to the computing device on which the embodiments are practiced,whereby the route may be displayed without accessing the remote server.

In an embodiment, the itinerary generating module 310 may also include aGPS device which determines the current location of the user using asatellite connection. The GPS unit may be embedded in a portable devicesuch as an iPhone™ or the like. In another example, the GPS device maybe embedded in a handheld GPS navigation device such as the series ofdevices manufactured by Garmin™ or Magellan™ etc.

Intelligence Module

As shown in FIG. 1, the intelligence module 312 links the user 100, theitinerary generating module 310, and the nowcaster 200 by sendingappropriate queries to and receiving information from these elements.More precisely, the intelligence module 312 may receive information froma user 100 through a communication network 254. In an embodiment, theintelligence module 312 may be linked to a user interface for receivingthe user's entries such that the identification of the locations A andB, departure time, and the user preferences regarding the locations forwhich the nowcasts are needed. The intelligence module 312 may use thisinformation received from user 100 to query the itinerary generatingmodule 310, for example, by sending the geographic locations of points Aand B characterizing the beginning and the end of the itinerary. Theintelligence module 312 may also send to the itinerary generating module310 information about the beginning time of the itinerary or about theuser's preferences. For example, the user may choose to obtain thenowcasts for key points such as major cities along the route, or byincrements of, for example, 30 km, etc.

According to an embodiment, the intelligence module 312 sends a firsttime or a current time and a time interval to the itinerary generatingmodule 310.

Depending on the embodiment, the intelligence module 312 or theitinerary generating module 310 may estimate a time of arrival for eachkey point which represents the estimated time at which the user isexpected to arrive at a certain key point. Estimation of the arrivaltime may depend on several factors including: the departure time (which,unless specified by the user, is taken as the present time), thedistance between the departure point and the respective key point,traffic information received from the itinerary generating module 310(or another source), weather information, current speed, and speed limitassociated with each segment of the route between the current locationand the respective key point.

The itinerary generating module 310 generates an itinerary 314 or a list313 of itineraries as described hereinabove. According to an embodiment,each itinerary comprises a list of locations 316 and a list of times318. This information is sent back to the intelligence module 312.

According to an embodiment, the intelligence module may select locations(such as the key points specified in the user's preferences) and theircorresponding times and sends them to the nowcaster 200.

In an embodiment, the intelligence module 312 may send the locationinformation of each location or key point along with the current timewhereby the user may see the current weather conditions in the differentlocations along the route.

Depending on the embodiment, the intelligence module 312 may send allthe list in just one call to the server on which the nowcaster 200 isimplemented, or, on the contrary, divide the list into more than onepart when the call is sent to the nowcaster 200.

For each location and time, the nowcaster 200 outputs a weatherforecast. Therefore, the nowcaster 200 generates a list of weatherforecasts 150 corresponding to each itinerary 314.

As discussed above, the itinerary generating module 310 may providedifferent choices of routes comprising weather conditions alongdifferent locations or key points. In an embodiment, when more than oneitinerary is provided, a weather risk estimator 160 within theintelligence module 312 may compute the risk associated with each listof weather forecasts 150 corresponding to an itinerary, thus sorting thelists of weather forecasts 150 and their corresponding itineraryaccording to the weather risk. The weather risk estimator 160 may assigneach itinerary a category or a grade depending on the gravity of theweather events happening on the itinerary (strong winds, heavy rain,etc.) or the probability that these events will take place. Sortingitineraries adds information (the estimated risk) to the lists ofweather forecasts 150. According to an embodiment, if the itinerary isdisplayed (textually or graphically), the parts of the itineraries thathave a higher or lower risk may be displayed with a distinctive color.

According to an embodiment, if the weather risk is estimated for variousitineraries, the method may route traffic to the least risky itinerary.

When the intelligence module has received locations, times, weatherforecasts, and other information (such as weather risk) of an itinerary,this information is sent to the user 100 using the communication network254.

According to an embodiment, the weather forecast for each location andtime in an itinerary may be provided on a single web page.

According to an embodiment, the intelligence module 312 may comprise adelay estimator 165. The delay estimator 165 uses the list of weatherforecasts to determine the delay on a part of an itinerary due to theweather conditions, such as rain, fog, strong wind, etc., that can slowdown the traffic. The delay estimator 165 may use a database comprisingstatistics about the delays due to weather conditions. If the delayestimator 165 is used, the list of times 318 corresponding to the listof locations 316 is not relevant anymore because delays change the timesin the itinerary. Therefore, the intelligence module queries again theitinerary generating module 310 by taking into account the delays,producing a more accurate list of times 318. The intelligence module 312receives this updated list of times 318 and sends it to the nowcaster200 for an update of the list of weather forecasts 150. Therefore, whenthe delay estimator is used, an iterative process takes place. Thisiterative process may be programmed to cease after a given number ofiterations or after equilibrium is reached in the results. When theiterative process is done, the intelligence module outputs the list 313of itineraries along with the most accurate list of weather forecasts150.

Nowcaster

FIGS. 2A-2C are block diagrams of a nowcaster according to one or moreembodiments of the subject matter described in the specification.

As shown in FIGS. 2A-2C, the nowcaster 200 receives weather observationsfrom different sources 201 such as weather observation sources includingbut not limited to: point observations 201-2 (e.g., feedback provided byusers and automated stations), weather radars 201-3, satellites 201-4and other types of weather observations 201-1, and weather forecastsources such as numerical weather prediction (NWP) model output 201-5and weather forecasts and advisories 201-6.

The nowcaster 200 comprises a memory 220 and a processor 210. The memory220 comprises the instructions for the method and also stores data fromthe weather sources, intermediate results, and weather forecasts. Theprocessor 210 allows the nowcaster 200 to perform calculations.

The nowcaster 200 can receive information 230 from a user through acommunication network 254.

The nowcaster 200 outputs a weather forecast, or a succession of weatherforecasts.

FIG. 2B is one embodiment of the nowcaster 200. In this embodiment, thenowcaster 200 comprises a PType distribution forecaster 202 and a PRatedistribution forecaster 204. The PType distribution forecaster 202receives the weather observations from the different sources 201 andoutputs a probability distribution of precipitation type over aninterval of time, for a given latitude and longitude (and/or location).For example:

a. Snow: 10%

b. Rain: 30%

c. Freezing Rain: 60%

d. Hail: 0%

e. Ice Pellets: 0%

Similarly, the PRate distribution forecaster 204 receives the weatherobservations for a given latitude and longitude from the differentsources 201 and outputs a probability distribution forecast of aprecipitation rate (PRate) in a representation that expresses theuncertainty. For example, the PRate may be output as a probabilitydistribution of precipitation rates or a range of rates over an intervalof time, for a given latitude and longitude. For example:

f. No Precip.: 30%

g. Light: 40%

h. Moderate: 20%

i. Heavy: 10%

The PRate and PType values output by the PRate distribution forecaster204 and the PType distribution forecaster 202 are sent to a forecastcombiner 206 to combine these values into a single value PTypeRate whichrepresents the precipitation outcomes. For example, if the value ofPType is “Snow,” and the value of “PRate” is heavy, the combined valueof PTypeRate may be “heavy snow.”

For a given latitude and longitude, the system outputs forecastedPTypeRate Distributions for predefined time intervals, either fixed (ex:1 minute) or variable (ex: 1 minute, then 5 minutes, then 10 minutes,etc.). The system can either pre-calculate and store forecastedPTypeRate Distributions in a sequence of time intervals, or calculate itin real time. A PTypeRate Distribution represents, for each timeinterval, the certainty or uncertainty that a PTypeRate will occur.

With reference to FIG. 2B, the forecast combiner 206 receives the finalPRate distribution from the PType distribution forecaster 202 and thefinal PRate distribution from the PRate distribution forecaster 204 tocombine them into a group of PTypeRate distribution values eachrepresenting the probability of receiving a certain type ofprecipitation at a certain rate. An example is provided below.

Assuming that the PType distribution is as follows: Snow: 50%, Rain: 0%,Freezing rain: 30%, Hail: 0%, Ice pellets: 20%, and the PRatedistribution is as follows: None: 0%, Light: 10%, Moderate: 20%, Heavy:30%, Very Heavy: 40%, the PTypeRate distributions may be as follows:

TABLE 1 An Example of PTypeRate Distribution Table PType Snow RainFreez. Rain Hail Ice Pellets PRate 50% 0% 30% 0% 20% None 0% No No No NoNo precipitation precipitation precipitation precipitation precipitationLight 5% light No 3% light No 2% light ice 10% snow precipitationfreezing rain precipitation pellets Moderate 10% No 6% moderate No 4%moderate 20% moderate precipitation freezing rain precipitation icepellets snow Heavy 15% heavy No 9% heavy No 6% heavy ice 30% snowprecipitation freezing rain precipitation pellets Very 20% heavy No 12%very No 8% very Heavy snow precipitation heavy freezing precipitationheavy ice 40% rain pellets

Accordingly, the forecast combiner 206 multiplies the probability ofeach type of precipitation by the probability of each rate ofprecipitation to obtain a probability of receiving a certain type ofprecipitation at a certain rate, for example, 20% chance of heavy snow,or 12% chance of very heavy freezing rain. In an embodiment, it ispossible to associate probability ranges with textual information fordisplaying the textual information to the user instead of theprobabilities in numbers. For example, probabilities that are between 5%and 15% may be associated with the text: “low chance,” whileprobabilities that are between 40% and 70% may be associated with thetext “high chance,” or “very likely,” etc., whereby, instead ofdisplaying: 60% chance of heavy snow, it is possible to display: “highchance of heavy snow.”

In another embodiment, it is possible to combine two or more differentPTypeRates along one or more dimensions (the dimensions including: therate, type, or probability). For example, results of such combinationmay include: Likely light to moderate rain, Likely light to moderaterain or heavy snow; Likely moderate rain or snow; Likely rain or snow;Chance of light to moderate rain or heavy snow or light hail; Chance ofmoderate rain, snow or hail; Chance of rain, snow or hail, etc.

Accordingly, the nowcaster 200 receives the location for which thenowcasts are needed and the time and/or time interval for which thenowcasts are needed and outputs the PTypeRate distribution for the givenlocation and for the specific time.

FIG. 2C illustrates another embodiment of the nowcaster 200. In thisembodiment, the nowcaster 200 comprises a PType selector/receiver 202-Cand a PRate distribution forecaster 204.

Similar to the embodiment shown in FIG. 2B, the PRate distributionforecaster 204 receives the weather observations for a given latitudeand longitude from the different sources 201 and outputs a probabilitydistribution forecast of a precipitation rate (PRate) in arepresentation that expresses the uncertainty. For example, the PRatemay be output as a probability distribution of precipitation rates or arange of rates over an interval of time, for a given latitude andlongitude. For example:

f. No Precip.: 30%

g. Light: 40%

h. Moderate: 20%

i. Heavy: 10%

However, the PType selector/receiver 202-C does not output a probabilitydistribution associated with different types of precipitation. Instead,the PType selector/receiver 202-C receives weather observations for agiven latitude and longitude from the different sources 201 to selectone precipitation type from a list of different precipitation types. Forexample, based on the inputs received from the sources 201, the PTypeselector/receiver 202-C selects a single precipitation type that is mostlikely to occur in the given latitude and the longitude (and/orlocation) from the following list of precipitation types:

a. Snow

b. Rain

c. Freezing Rain

d. Hail

e. Ice Pellets

f. Mix (e.g., a+c, a+d, b+c, a+e, c+e, d+e, etc.)

From the list of precipitation types such as the one above, only oneprecipitation type is selected for a given location. For example, a mixof snow and freezing rain can be selected as the most likelyprecipitation type for a give location at a given time. Theprecipitation type is not associated with a probability value. In fact,since only one precipitation type is selected for any given location andtime corresponding to the location, the selected precipitation type willhave an effective probability value of 100%.

The list of precipitation types that are available for selection of onetype may include a mix type that represent a mix of two differentprecipitation types (e.g., snow and freezing rain, hail and ice pellets,etc). A mix type is considered as a distinct precipitation typeavailable for selection, and as shown above in (f) of the list, therecan be many different mix types representing the mix of different pairsof various precipitation types.

In another embodiment, the precipitation type is not selected by thePType selector/receiver 202-C but instead is received from a sourceoutside the nowcaster 200. In other words, the nowcaster 200 may requestto a remote source (e.g., a third-party weather service) identificationof the precipitation type that is most likely to occur for a givenlocation at a given time and receive a response from the sourceidentifying the most likely precipitation type. In this case, selectionof the precipitation type is not performed by the nowcaster 200. Thenowcaster 200 merely is inputted with the already-selected precipitationtype and thereby can save computational power of the nowcaster 200 thatwould otherwise have been needed to perform the selection.

The selected precipitation type and the PRate values respectively outputby the PType selector/receiver 202-C and the PRate distributionforecaster 204 are combined. For example, if the selected precipitationtype is snow, and the PRate values are as described above, the combinedinformation would indicate:

a. No Snow: 30%

b. Light Snow: 40%

c. Moderate Snow: 20%

d. Heavy Snow: 10%.

As only one precipitation type is concerned, only a minimal amount ofcomputational power is needed to perform the combining to output thefinal weather forecast data. Since the PType selector/receiver 202-Cwill output one (1) precipitation type for a given location and time, ifthe PRate distribution forecaster 204 outputs a number m of probabilitydistribution, the final weather forecast data will comprise only anumber m (m*1) of weather forecast distribution.

In outputting the final weather forecast data, it is possible toassociate probability ranges with textual information for displaying thetextual information to the user instead of the probabilities in numbers,similar to the embodiment shown in FIG. 2B. For example, probabilitiesthat are between 5% and 15% may be associated with the text: “lowchance,” while probabilities that are between 40% and 70% may beassociated with the text “high chance,” or “very likely,” etc., whereby,instead of displaying: “60% chance of heavy snow,” it is possible todisplay: “high chance of heavy snow.”

Accordingly, the nowcaster 200 receives the location for which thenowcasts are needed and the time and/or time interval for which thenowcasts are needed and outputs the selected PType and PRatedistribution for the given location and for the specific time.

The nowcaster according to the embodiment shown in FIG. 2C may beadvantageous over the embodiment shown in FIG. 2B in certaincircumstances in which efficiency is desired. The embodiment of FIG. 2Ccan be implemented using much less processing power than the embodimentof FIG. 2B. However, the embodiment of FIG. 2B may be more suitable thanthe embodiment of FIG. 2C in providing a more detailed and accuratesnapshot of weather forecast data for any given location and time.

FIG. 4A is an example of a network environment in which the embodimentsmay be practiced. The nowcaster 300 may be implemented on aserver/computer 250 which is accessible by a plurality of clientcomputers 252 over a communication network 254. The client computers mayinclude but are not limited to: laptops, desktops, portable computingdevices, tablets, and the like. Using a client computer 252, each usermay enter the directions between two locations and preferably the timeof departure (otherwise the current time is used to replace this). Theinformation is sent to the remote server 250 over a telecommunicationsnetwork. The server 250 returns a list of locations on the route fromlocations A to B along with nowcasts at these locations on the route.The server accesses weather source 201 over a telecommunications networkas discussed in connection with FIG. 2A. The server 250 may havegeographic data stored thereon and may also access itinerary sources 320provided by a third entity.

Preferably, the client computer 252 is GPS-enabled, in which case, theclient computer 252 may provide updates to the server 250 for updatingthe nowcasts along the route, as discussed above.

FIG. 4B is an example of another network environment in which theembodiments may be practiced. In this embodiment, the user enters thedestination and views the itinerary on a GPS navigation device. The GPSnavigation device takes the departure location as the present location.The present location and the end destination along with the route chosenby the satellite may be sent to the server 250 via the satellite 332.The intelligence module implemented in the server 250 may return thenowcasts for key points along the route, and send the nowcasts and anidentification of the key points to the GPS device 330 for adding to theitinerary given by the GPS device 330.

In an embodiment, if the user is generating an itinerary using a GPSand/or web-enabled computing device, the nowcasts may be updated on themap based on the advancement of the user on the route and the changes inweather conditions.

In an embodiment, the nowcasts may be provided on the map along with thetime/time interval associated with each nowcast. In an embodiment, thetime shown on the map is the estimated time of arrival which isestimated by the intelligence module 312 based on the current location,speed, and weather and traffic conditions.

Hardware and Operating Environment

FIG. 5 illustrates an exemplary diagram of a suitable computingoperating environment in which embodiments of the claimed subject mattermay be practiced. The following description is associated with FIG. 5and is intended to provide a brief, general description of suitablecomputer hardware and a suitable computing environment in conjunctionwith which the embodiments may be implemented. Not all the componentsare required to practice the embodiments, and variations in thearrangement and type of the components may be made without departingfrom the spirit or scope of the embodiments.

Although not required, the embodiments are described in the generalcontext of computer-executable instructions, such as program modules,being executed by a computer, such as a personal computer, a hand-heldor palm-size computer, smartphone, or an embedded system such as acomputer in a consumer device or specialized industrial controller.Generally, program modules include routines, programs, objects,components, data structures, etc., that perform particular tasks orimplement particular abstract data types.

Moreover, those skilled in the art will appreciate that the embodimentsmay be practiced with other computer system configurations, includinghand-held devices, multiprocessor systems, microprocessor-based orprogrammable consumer electronics, network PCS, minicomputers, mainframecomputers, cellular telephones, smartphones, display pagers, radiofrequency (RF) devices, infrared (IR) devices, Personal DigitalAssistants (PDAs), laptop computers, wearable computers, tabletcomputers, a device of the iPod or iPad family of devices, integrateddevices combining one or more of the preceding devices, or any othercomputing device capable of performing the methods and systems describedherein. The embodiments may also be practiced in distributed computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network. In a distributed computingenvironment, program modules may be located in both local and remotememory storage devices.

The exemplary hardware and operating environment of FIG. 5 includes ageneral-purpose computing device in the form of a computer 720,including a processing unit 721, a system memory 722, and a system bus723 that operatively couples various system components including thesystem memory to the processing unit 721. There may be only one or theremay be more than one processing unit 721, such that the processor ofcomputer 720 comprises a single central-processing unit (CPU), or aplurality of processing units, commonly referred to as a parallelprocessing environment. The computer 720 may be a conventional computer,a distributed computer, or any other type of computer; the embodimentsare not so limited.

The system bus 723 may be any of several types of bus structuresincluding a memory bus or memory controller, a peripheral bus, and alocal bus using any of a variety of bus architectures. The system memorymay also be referred to as simply the “memory,” and includes read-onlymemory (ROM) 724 and random access memory (RAM) 725. A basicinput/output system (BIOS) 726, containing the basic routines that helpto transfer information between elements within the computer 720, suchas during start-up, is stored in ROM 724. In one embodiment of theclaimed subject matter, the computer 720 further includes a hard diskdrive 727 for reading from and writing to a hard disk, not shown, amagnetic disk drive 728 for reading from or writing to a removablemagnetic disk 729, and an optical disk drive 730 for reading from orwriting to a removable optical disk 731, such as a CD ROM or otheroptical media. In alternative embodiments of the claimed subject matter,the functionality provided by the hard disk drive 727, magnetic disk 729and optical disk drive 730 is emulated using volatile or non-volatileRAM in order to conserve power and reduce the size of the system. Inthese alternative embodiments, the RAM may be fixed in the computersystem, or it may be a removable RAM device, such as a Compact Flashmemory card.

In an embodiment of the claimed subject matter, the hard disk drive 727,magnetic disk drive 728, and optical disk drive 730 are connected to thesystem bus 723 by a hard disk drive interface 732, a magnetic disk driveinterface 733, and an optical disk drive interface 734, respectively.The drives and their associated computer-readable media providenon-volatile storage of computer readable instructions, data structures,program modules, and other data for the computer 720. It should beappreciated by those skilled in the art that any type ofcomputer-readable media that can store data that is accessible by acomputer, such as magnetic cassettes, flash memory cards, digital videodisks, Bernoulli cartridges, RAMs, ROMs, and the like, may be used inthe exemplary operating environment.

A number of program modules may be stored on the hard disk, magneticdisk 729, optical disk 731, ROM 724, or RAM 725, including an operatingsystem 735, one or more application programs 736, other program modules737, and program data 738. A user may enter commands and informationinto the personal computer 720 through input devices such as a keyboard740 and pointing device 742. Other input devices (not shown) may includea microphone, joystick, game pad, satellite dish, scanner,touch-sensitive pad, or the like. These and other input devices areoften connected to the processing unit 721 through a serial portinterface 746 that is coupled to the system bus, but may be connected byother interfaces, such as a parallel port, game port, or a universalserial bus (USB). In addition, input to the system may be provided by amicrophone to receive audio input.

A monitor 747 or other type of display device is also connected to thesystem bus 723 via an interface, such as a video adapter 748. In oneembodiment of the claimed subject matter, the monitor comprises a LiquidCrystal Display (LCD). In addition to the monitor, computers typicallyinclude other peripheral output devices (not shown), such as speakersand printers. The monitor may include a touch-sensitive surface whichallows the user to interface with the computer by pressing on ortouching the surface.

The computer 720 may operate in a networked environment using logicalconnections to one or more remote computers, such as a remote computer749. These logical connections are achieved by a communication devicecoupled to or a part of the computer 720; the embodiment is not limitedto a particular type of communications device. The remote computer 749may be another computer, a server, a router, a network PC, a client, apeer device, or other common network node, and typically includes manyor all of the elements described above relative to the computer 720,although only a memory storage device 750 has been illustrated in FIG.6. The logical connections depicted in FIG. 6 include a local-areanetwork (LAN) 751 and a wide-area network (WAN) 752. Such networkingenvironments are commonplace in offices, enterprise-wide computernetworks, intranets, and the Internet.

When used in a LAN-networking environment, the computer 720 is connectedto the local network 751 through a network interface or adapter 753,which is one type of communications device. When used in aWAN-networking environment, the computer 720 typically includes a modem754, a type of communications device, or any other type ofcommunications device for establishing communications over the WAN 752,such as the Internet. The modem 754, which may be internal or external,is connected to the system bus 723 via the serial port interface 746. Ina networked environment, program modules depicted relative to thepersonal computer 720, or portions thereof, may be stored in the remotememory storage device. It is appreciated that the network connectionsshown are exemplary and other means of establishing a communicationslink between the computers may be used.

The hardware and operating environment in conjunction with whichembodiments of the claimed subject matter may be practiced has beendescribed. The computer in conjunction with which embodiments of theclaimed subject matter may be practiced may be a conventional computer,a hand-held or palm-size computer, a computer in an embedded system, adistributed computer, or any other type of computer; the claimed subjectmatter is not so limited. Such a computer typically includes one or moreprocessing units as its processor, and a computer-readable medium suchas a memory. The computer may also include a communications device, suchas a network adapter or a modem, so that it is able to communicativelycouple other computers.

While preferred embodiments have been described above and illustrated inthe accompanying drawings, it will be evident to those skilled in theart that modifications may be made without departing from thisdisclosure. Such modifications are considered as possible variantscomprised in the scope of the disclosure.

What is claimed is:
 1. A computer implemented method for generatingitineraries comprising: identifying a departure location and adestination location; identifying a first probability of a particulartype of precipitation occurring at a particular rate at a firstintermediary location between the departure location and the destinationlocation; identifying a second probability of the particular type ofprecipitation occurring at the particular rate at a second intermediarylocation between the departure location and the destination location;and generating an itinerary that includes the first intermediarylocation or the second intermediary location based on a comparison ofthe first probability and the second probability.
 2. The method of claim1, further comprising estimating an arrival time at the firstintermediary location, wherein the first probability is associated withthe particular type of precipitation occurring at the particular rate atthe first intermediary location at the estimated arrival time.
 3. Themethod of claim 2, further comprising: identifying a modified arrivaltime associated with the first intermediary location based on the firstprobability; identifying a modified probability of the particular typeof precipitation occurring at the particular rate at the firstintermediary location at the modified arrival time; and generating theitinerary based further on the modified probability.
 4. The method ofclaim 1, further comprising: identifying a first distribution ofprobabilities indicating likelihoods of each of a plurality ofprecipitation types occurring at the first intermediary location;identifying a second distribution of probabilities indicatinglikelihoods of each of a plurality of precipitation rates occurring atthe first intermediary location; and determining, based on the firstdistribution and the second distribution, a third distribution ofprobabilities indicating likelihoods of each of the plurality ofprecipitation types occurring at each of the plurality of precipitationrates at the first intermediary location, the third distributionincluding the first probability.
 5. The method of claim 4, whereindetermining the third distribution includes multiplying the firstdistribution by the second distribution.
 6. The method of claim 4,wherein the plurality of precipitation types includes a snow type, arain type, a freezing rain type, a hail type, and an ice pellet type. 7.The method claim 4, wherein the plurality of precipitation ratesincludes a zero rate, a light rate, a moderate rate, a heavy rate, and avery heavy rate.
 8. The method of claim 1, wherein the particular typeof precipitation corresponds to snow.
 9. The method of claim 1, wherein:the departure location and the destination location are received from aremote device; and at least one of the departure location and thedestination location is associated with a current location of the remotedevice.
 10. The method of claim 1, further comprising selecting theparticular type of precipitation based on weather reports associatedwith the first intermediary location.
 11. A device for generatingitineraries comprising: one or more processors; and a memory storinginstructions executable by the one or more processors to performoperations comprising: identifying a departure location and adestination location; identifying a first probability of a particulartype of precipitation occurring at a particular rate at a firstintermediary location between the departure location and the destinationlocation; identifying a second probability of the particular type ofprecipitation occurring at the particular rate at a second intermediarylocation between the departure location and the destination location;and generating an itinerary including the first intermediary location orthe second intermediary location based on a comparison of the firstprobability and the second probability.
 12. The device of claim 11,wherein the operations further include estimating an arrival time at thefirst intermediary location, wherein the first probability is associatedwith the particular type of precipitation occurring at the particularrate at the first intermediary location at the estimated arrival time.13. The device of claim 12, wherein the operations further include:identifying a modified arrival time associated with the firstintermediary location based on the first probability; identifying amodified probability of the particular type of precipitation occurringat the particular rate at the first intermediary location at themodified arrival time; and generating the itinerary based further on themodified probability.
 14. The device of claim 11, wherein the operationsfurther include: identifying a first distribution of probabilitiesindicating likelihoods of each of a plurality of precipitation typesoccurring at the first intermediary location; identifying a seconddistribution of probabilities indicating likelihoods of each of aplurality of precipitation rates occurring at the first intermediarylocation; and determining, based on the first distribution and thesecond distribution, a third distribution of probabilities indicatinglikelihoods of each of the plurality of precipitation types occurring ateach of the plurality of precipitation rates at the first intermediarylocation, the third distribution including the first probability. 15.The device of claim 14, wherein determining the third distributionincludes multiplying the first distribution by the second distribution.16. The device of claim 14, wherein the plurality of precipitation typesincludes a snow type, a rain type, a freezing rain type, a hail type,and an ice pellet type.
 17. The device of claim 14, wherein theplurality of precipitation rates includes a zero rate, a light rate, amoderate rate, a heavy rate, and a very heavy rate.
 18. The device ofclaim 11, further comprising a communication module configured toreceive the departure location and the destination location from aremote device, wherein the departure location is associated with acurrent location of the remote device.
 19. A system comprising: a servercomprising a computer and a non-transitory computer-readable mediumstoring instructions comprising a program executable by the computer toperform an itinerary generation process, the itinerary generationprocess including: identifying a departure location and a destinationlocation; identifying a first probability of a particular type ofprecipitation occurring at a particular rate at a first intermediarylocation between the departure location and the destination location;identifying a second probability of the particular type of precipitationoccurring at the particular rate at a second intermediary locationbetween the departure location and the destination location; andgenerating an itinerary including the first intermediary location or thesecond intermediary location based on a comparison of the firstprobability and the second probability; and a remote device comprisingone or more processors, a display device, and a memory storinginstructions executable by the one or more processors to: receive theitinerary from the server; and initiate presentation of at least part ofthe itinerary via the display device.
 20. The system of claim 19,wherein the itinerary generation process further includes: identifying afirst distribution of probabilities indicating likelihoods of each of aplurality of precipitation types occurring at the first intermediarylocation; identifying a second distribution of probabilities indicatinglikelihoods of each of a plurality of precipitation rates occurring atthe first intermediary location; and determining, based on the firstdistribution and the second distribution, a third distribution ofprobabilities indicating likelihoods of each of the plurality ofprecipitation types occurring at each of the plurality of precipitationrates at the first intermediary location, the third distributionincluding the first probability.